package base;

import java.util.Stack;

/**
 * 栈是一种只能在一端进行插入或删除操作的线性表（先进后出）
 * <p>
 * * {@link Stack#empty()}判断栈是否为空
 * * {@link Stack#peek()}获取堆栈顶部的对象,但不从堆栈中移除它
 * * {@link Stack#pop()}移除堆栈顶部的对象,并作为此函数的返回值
 * * {@link Stack#push(Object)}将数据压入栈顶
 * * {@link Stack#search(Object)}返回对象在堆栈中的位置,以1为基数。
 *
 * @author 王霄
 * @date 2021/9/14 9:15
 **/
public class StackDemo {
    public static void main(String[] args) {
        var stack = new Stack<String>();
        stack.push("A");
        stack.push("B");
        stack.push("C");
        stack.push("D");
        System.out.println(stack);
        System.out.println("栈是否为空：" + stack.isEmpty());
        System.out.println("获取栈顶元素：" + stack.peek());
        System.out.println(stack);
        System.out.println("移除栈顶元素：" + stack.pop());
        System.out.println(stack);
    }
}
